Bar code reader having multiple cameras

ABSTRACT

A multicamera imaging-based bar code reader for imaging a target bar code on a target object features: a housing supporting a plurality of transparent windows and defining an interior region, a target object being presented to the plurality of windows for imaging a target bar code; an imaging system including a plurality of camera assemblies coupled to an image processing system, each camera assembly of the plurality of camera assemblies being positioned within the housing interior position. Each camera assembly includes a sensor array and an imaging lens assembly for focusing a field of view of the camera assembly onto the sensor array. One or more processors prioritize an order of image capture or interpretation based upon user tendancies.

FIELD OF THE INVENTION

The present invention relates to a multiple camera imaging-based barcode reader.

BACKGROUND OF THE INVENTION

Various electro-optical systems have been developed for reading opticalindicia, such as bar codes. A bar code is a coded pattern of graphicalindicia comprised of a series of bars and spaces of varying widths, thebars and spaces having differing light reflecting characteristics. Thepattern of the bars and spaces encode information. Bar code may be onedimensional (e.g., UPC bar code) or two dimensional (e.g., DataMatrixbar code). Systems that read, that is, image and decode bar codesemploying imaging camera systems are typically referred to asimaging-based bar code readers or bar code scanners.

Imaging-based bar code readers may be portable or stationary. A portablebar code reader is one that is adapted to be held in a user's hand andmoved with respect to a target indicia, such as a target bar code, to beread, that is, imaged and decoded. Stationary bar code readers aremounted in a fixed position, for example, relative to a point-of-salescounter. Target objects, e.g., a product package that includes a targetbar code, are moved or swiped past one of the one or more transparentwindows and thereby pass within a field of view of the stationary barcode readers. The bar code reader typically provides an audible and/orvisual signal to indicate the target bar code has been successfullyimaged and decoded. Sometimes barcodes are presented, as opposed toswiped. This typically happens when the swiped barcode failed to scan,so the operator tries a second time to scan it. Alternately,presentation is done by inexperience users, such as when the reader isinstalled in a self check out installation.

A typical example where a stationary imaging-based bar code reader wouldbe utilized includes a point of sale counter/cash register wherecustomers pay for their purchases. The reader is typically enclosed in ahousing that is installed in the counter and normally includes avertically oriented transparent window and/or a horizontally orientedtransparent window, either of which may be used for reading the targetbar code affixed to the target object, i.e., the product or productpackaging for the product having the target bar code imprinted oraffixed to it. The sales person (or customer in the case of self-servicecheck out) sequentially presents each target object's bar code either tothe vertically oriented window or the horizontally oriented window,whichever is more convenient given the specific size and shape of thetarget object and the position of the bar code on the target object.

A stationary imaging-based bar code reader that has a plurality ofimaging cameras can be referred to as a multi-camera imaging-basedscanner or bar code reader. In a multi-camera imaging reader, eachcamera system typically is positioned behind one of the plurality oftransparent windows such that it has a different field of view fromevery other camera system. While the fields of view may overlap to somedegree, the effective or total field of view of the reader is increasedby adding additional camera systems. Hence, the desirability ofmulticamera readers as compared to signal camera readers which have asmaller effective field of view and require presentation of a target barcode to the reader in a very limited orientation to obtain a successful,decodable image, that is, an image of the target bar code that isdecodable.

The camera systems of a multi-camera imaging reader may be positionedwithin the housing and with respect to the transparent windows such thatwhen a target object is presented to the housing for reading the targetbar code on the target object, the target object is imaged by theplurality of imaging camera systems, each camera providing a differentimage of the target object. U.S. patent application Ser. No. 11/862,568filed Sep. 27, 2007 entitled ‘Multiple Camera Imaging Based Bar CodeReader’ is assigned to the assignee of the present invention and isincorporated herein by reference.

SUMMARY OF THE INVENTION

The present disclosure concerns a mult-icamera imaging-based bar codereader and a method of operating a multicamera imaging-based bar codereader.

It has been observed that users of such bar code readers becomecomfortable presenting the barcode to either the vertical or thehorizontal window more frequently. That is, they don't tend to use bothwindows equally. In addition, users tend to position the barcode suchthat one of the cameras within a given window will have the best view ofthe barcode more often than others. In addition, the path over which thebarcode is dragged through the field of view of the cameras has someconsistency. For example, a user may concentrate the paths of travel ofthe barcodes near the center, or near one end of the field of view ofthe cameras. The part of the field of view or each camera that mostoften sees the barcode may differ. For example, the barcode may mostoften be visible near the center of the field of view of one camera, andmost often near the upper edge of the field of view of another camera.

With use, the reader can learn what part of the field of view of eachcamera is most likely to contain a barcode based on statistics from pastbehavior of the user. Separate statistics can be maintained for eachcamera. A decoder is programmed to search first through the part of thefield of view for each camera that has been found to most frequentlycontain a barcode image, increasing the probability of finding thebarcode rapidly. In addition, the decoder can give priority to whichevercamera or cameras have most frequently been found to contain a barcodefor a given user.

In the event that a barcode isn't located in the area that has beenfound to be most common, the decoder can revert to a fixed searchpattern that will eventually cover the entire field of view.

These and other objects, advantages, and features of the exemplaryembodiment of the invention are described in detail in conjunction withthe accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a bar code reader having a vertical anda horizontal window through which bar codes are viewed by multiplecameras within the reader;

FIG. 2 is a perspective view of the reader of FIG. 1 with a portion ofthe reader housing removed to illustrate a plurality of cameras;

FIGS. 3 and 4 are perspective views showing a position of threeadditional cameras on a printed circuit board resulting in a total ofsix cameras;

FIGS. 5 and 6 are plan views showing ray traces for cameras of amulti-camera bar code reader;

FIG. 7 is a schematic block diagram of selected systems and electricalcircuitry of the bar code reader of FIG. 1; and

FIG. 8 is a flowchart of an exemplary embodiment of the invention.

DETAILED DESCRIPTION

An exemplary embodiment of a multicamera imaging-based bar code scanneror reader 10 of the present invention is shown schematically in theFigures. As depicted in FIG. 7, the bar code reader 10 includescircuitry 11 comprising an image system 12 which includes a plurality ofimaging cameras C1, C2, C3, C4, C5, C6, which produce raw gray scaleimages, and an image processing system 14, which includes one or moreprocessors 15 and a decoder 16 that analyzes the gray scale images fromthe cameras and decodes imaged target bar codes, if present. The imagingsystem 12 is capable of reading, that is, imaging and decoding both 1Dand 2D bar codes and postal codes. The reader 10 is also capable ofcapturing images and signatures. The decoder 16 may be integrated intothe reader 10 or may be a separate system, as would be understood by oneof skill in the art.

In one exemplary embodiment, the reader 10 is stationary and the imageand decoder systems are supported within an interior region 18 of ahousing 20 (see FIG. 1). The housing 20 may be integrated into a salescounter that of a point of sales system that includes, for example, acash register, a touch screen visual display or other type userinterface and a printer for generating sales receipts. The housing 20depicted in FIG. 1 includes two transparent windows H,V.

In the exemplary embodiment, the cameras C1-C6 are mounted to a printedcircuit board 22 inside the housing and each camera defines a twodimensional field of view FV1, FV2, FV3, FV4, FV5, FV6. Positionedbehind and adjacent to the windows H,V are reflective mirrors M in thathelp define a given camera field of view such that the respective fieldsof view FV1-FV6 pass from the housing 20 through the windows creating aneffective total field of view TFV for the reader 10 in a region of thewindows H, V, outside the housing 20. Because each camera C1-C6 has aneffective working range WR (shown schematically in FIG. 7) over which atarget bar code 30 may be successfully imaged and decoded, there is aneffective target area in front of the windows H,V within which a targetbar code 30 presented for reading may be successfully imaged anddecoded.

FIGS. 5 and 6 illustrate an alternative camera arrangement for amulti-camera bar code reader. One camera 110 (of a multiple number ofsuch cameras) has a support 112 that positions the camera 110 forreceipt of light from a field of view having borders or bounds 130, 132,134, 136 and which images objects through the horizontal window H. Thisfield of view is defined in part by two focusing mirrors 120, 122 thattend to concentrate light originating within the field of view to thecamera 112. In this arrangement each camera would include its ownsupport rather than multiple cameras on a single pc such as shown inFIG. 1.

In accordance with one use, either a sales person or a customer willpresent a product or target object 32 selected for purchase to thehousing 20. More particularly, a target bar code 30 imprinted or affixedto the target object will be presented in a region near the windows H,Vfor reading, that is, imaging and decoding of the coded indicia of thetarget bar code. Upon a successful reading of the target bar code, avisual and/or audible signal will be generated by the reader 10 toindicate to the user that the target bar code 30 has been successfullyimaged and decoded. The successful read indication may be in the form ofillumination of a light emitting diode (LED) 34 a (FIG. 7) and/orgeneration of an audible sound by a speaker 34 b upon appropriate signalfrom the decoder 16.

Generally, upon repetitive use of the reader 10, a user (sales person orcustomer) will intuitively orient and move the target object toward thewindows H, V in such a way that the target bar code 30 moves in relationto a given window and even a particular region of a window in the sameway and same orientation time after time. As shown in FIG. 1, a typicaluser may orient the target object 32 such that the target bar code 30 isfacing the window H and is approximately centered with respect to thewindow H. Thus, for this particular user, it would likely be the casethat the target bar code 30 would be suitably imaged for decodingpurposes generally by either the camera C1 or the camera assembly C3which are positioned to monitor objects moved past the window H. As seenin FIG. 1, however, the object 30 is tilted so that the camera C3 ismore likely to view and properly decode the bar code 30.

Even though users tend to use the same part of a window most of thetime, they will sometimes use the other window, particularly when theobject is too bulky to reorient to use the window that they usually use.Whenever they use the second window, people will tend to move thebarcode through the same area of that window, so a preferred area forboth windows can be independently determined based on statisticalrecords. If the user most often uses, for example, the vertical window,the decoder will examine images from the most commonly used camerabehind the vertical window first, in the part of the field of view ofthat camera where barcodes have most frequently been found. If nobarcode is found, the decoder will eventually examine the images fromthe horizontal window, starting with the camera, and the area within thefield of view of that camera where barcodes are most commonly found.

A newly installed scanner initially uses a fixed search pattern since nostatistics for a particular user will have yet been gathered. Similarly,a casual user such as a customer at a checkout will not have developed aunique use pattern. The decoder 16 adopts a statistically driven patternwhen enough barcodes have been decoded to reveal a pattern. The searchpattern used for a new scanner can concentrate in areas found to be mostfrequently used by a broad cross-section of users to maximize thechances of rapidly finding the barcode even before enough data has beengathered to optimize the reader to a particular user. Stated anotherway, a weighted search pattern can be used to advantage even withoutaltering the search pattern based on statistical behavior of anindividual user.

Before a barcode can be decoded by an imaging barcode scanner, thebarcode must be located within the field of view of the scanner. This isa computationally intensive process. Various search patterns have beendevised to attempt to locate the barcode as rapidly as possible, butsince people who use barcode scanners don't all behave the same way, asearch pattern that works well for one user may not be optimum foranother.

This is a particular issue for a reader having multiple cameras. Theexemplary reader 10 uses six cameras C1-C6. Three of the cameras C4-C6,look out of a vertical window with the help of reflecting mirrors in V,and three look out of a horizontal window H. In use, a user slides apackage or container 32 with a barcode through a region in front of thewindows. The barcode may be visible to cameras behind the verticalwindow, or to cameras behind the horizontal window, or both. The barcodemay move through the center of the field of view of the cameras, orthrough one end or the other of the field of view.

To minimize the computational effort to locate the barcode in any of thecameras, and to therefore enable a less expensive processing solution,it is desirable to find the barcode image and decode it as efficientlyas possible. The bar code reader can respond faster, maximizing scanningthroughput by informing the user that the barcode has decoded (with abeep or with a blinking light) as fast as possible, enabling the user toproceed to the next barcode without delay.

Each camera assembly C1-C6 of the imaging system 12 captures a series ofimage frames of its respective field of view FV1-FV6. The series ofimage frames for each camera assembly C1-C6 is shown schematically asIF1, IF2, IF3, IF4, IF5, IF6 in FIG. 7. Each series of image framesIF1-IF6 comprises a sequence of individual image frames generated by therespective cameras C1-C6. As seen in the drawings, the designation IF1,for example, represents multiple successive images obtained from thecamera C1. As is conventional with imaging cameras, the image framesIF1-IF6 are in the form of respective digital signals representative ofraw gray scale values generated by each of the camera assembly C1-C6.

The image processor or processors 14 controls operation of the camerasC1-C6. The cameras C1-C6, when operated during an imaging system,generate digital signals 35. The signals 35 are raw, digitized grayscale values which correspond to a series of generated image frames foreach camera. For example, for the camera C1, the signal 35 correspondsto digitized gray scale values corresponding to a series of image framesIF1. For the camera C2, the signal 35 corresponds to digitized grayscale values corresponding to a series of image frame IF2, and so on.The digital signals 35 are coupled to a bus interface 42, where thesignals are multiplexed by a multiplexer 43 and then communicated to amemory 44 in an organized fashion so that the processor knows whichimage representation belong to a given camera.

The image processors 15 access the image frames IF1-IF6 from memory 44and search for image frames that include an imaged target bar code 30′.If the imaged target bar code 30′ is present and decodable in one ormore image frames, the decoder 16 attempts to decode the imaged targetbar code 30′ using one or more of the image frames having the imagedtarget bar code 30′ or a portion thereof. A principal feature of thepresent disclosure is the manner in which the processor controls thecapture and/or evaluation of these images.

For any individual presentation of a target bar code 30 to the readerwindows H, V the exact orientation and manner of presentation of thetarget bar code 30 to the windows will determine which camera or camerasgenerate suitable images for decoding. However, based on humanrepetitive behavior, it is likely that, for example, sales personsgenerally or a given sales person, specifically, will develop a patternof presentation of a target bar code 30 to the windows H, V that resultsin certain cameras having a much higher probability of generating animage frame that includes the imaged target bar code 30′ and is suitablefor decoding the imaged bar code 30′, either alone or in conjunctionwith other image frames.

Each camera includes a charged coupled device (CCD), a complementarymetal oxide semiconductor (CMOS), or other imaging pixel array,operating under the control of the imaging processing system 40. In oneexemplary embodiment, the sensor array comprises a two dimensional (2D)CMOS array with a typical size of the pixel array being on the order of752×480 pixels. The illumination-receiving pixels of the sensor arraydefine a sensor array surface secured to a printed circuit board forstability. The sensor array surface is substantially perpendicular to anoptical axis of the imaging lens assembly, that is, a z axis that isperpendicular to the sensor array surface would be substantiallyparallel to the optical axis of the focusing lens. The pixels of thesensor array surface are disposed in an orthogonal arrangement of rowsand columns of pixels.

The reader circuitry 11 includes imaging system 12, the memory 44 and apower supply 11 a. The power supply 11 a is electrically coupled to andprovides power to the circuitry 11 of the reader. Optionally, the reader10 may include an illumination system 60 (shown schematically in FIG. 7)which provides illumination to illuminate the effective total field ofview to facilitate obtaining an image 30′ of a target bar code 30 thathas sufficient resolution and clarity for decoding.

For each camera assembly C1-C6, the sensor array is enabled during anexposure period to capture an image of the field of view FV1-FV6 of thecamera assembly. The field of view F1-FV6 is a function of both theconfiguration of the sensor array and the optical characteristics of theimaging lens assembly and the distance and orientation between the arrayand the lens assembly.

If the target bar code 30 is within the field of view of a particularcamera assembly, say camera C1, each image frame of the series of imageframes IF1 includes an image 30′ of the target bar code 30 (shownschematically in FIG. 7). The image processors 15 and the decodingsystem 14 select an image frame from the series of image frames IF1-IF6stored in the memory 44 and attempt to locate and decode a digitized,gray scale version of the image bar code 30′.

The camera assemblies C1-C6 are continuously generating respectiveseries of image frames IF1-IF6. Since many of these captured framesIF1-IF6 will not include an imaged target bar code 30′, the imageprocessors 15 of the image processing system 14 must analyze the storedimage frames IF1-IF6 in memory 44 to find and decode.

For each camera assembly C1-C6, electrical signals are generated byreading out of some or all of the pixels of the pixel array after anexposure period generating the gray scale value digital signal 35. Thisoccurs as follows: within each camera, the light receivingphotosensor/pixels of the sensor array are charged during an exposureperiod. Upon reading out of the pixels of the sensor array, an analogvoltage signal is generated whose magnitude corresponds to the charge ofeach pixel read out. The image signals 35 of each camera assembly C1-C6represents a sequence of photosensor voltage values, the magnitude ofeach value representing an intensity of the reflected light received bya photosensor/pixel during an exposure period.

Processing circuitry of the camera assembly, including gain anddigitizing circuitry, then digitizes and coverts the analog signal intoa digital signal whose magnitude corresponds to raw gray scale values ofthe pixels. The series of gray scale values GSV represent successiveimage frames generated by the camera assembly. The digitized signal 35comprises a sequence of digital gray scale values typically ranging from0-255 (for an eight bit A/D converter, i.e., 2⁸=256), where a 0 grayscale value would represent an absence of any reflected light receivedby a pixel during an exposure or integration period (characterized aslow pixel brightness) and a 255 gray scale value would represent a veryintense level of reflected light received by a pixel during an exposureperiod (characterized as high pixel brightness). In some sensors,particularly CMOS sensors, all pixels of the pixel array are not exposedat the same time, thus, reading out of some pixels may coincide in timewith an exposure period for some other pixels.

As is best seen in FIG. 7, the digital signals 35 are received by thebus interface 42 of the image processing system 40, which may includethe multiplexer 43, operating under the control of an ASIC 46, toserialize the image data contained in the digital signals 35. Thedigitized gray scale values of the digitized signal 35 are stored in thememory 44. The digital values GSV constitute a digitized gray scaleversion of the series of image frames IF1-IF6, which for each cameraassembly C1-C6 and for each image frame is representative of the imageprojected by the imaging lens assembly onto the pixel array during anexposure period. If the field of view of the imaging lens assemblyincludes the target bar code 30, then a digital gray scale value image30′ of the target bar code 30 would be present in the digitized imageframe.

The decoding circuitry 14 then operates on selected image frames andattempts to decode any decodable image within the image frames, e.g.,the imaged target bar code 30′. If the decoding is successful, decodeddata 56, representative of the data/information coded in the target barcode 30 is then output via a data output port 58 and/or displayed to auser of the reader 10 via a display 59. Upon achieving a good read ofthe target bar code 30, that is, the bar code 30 was successfully imagedand decoded, the speaker 34 b and/or an indicator LED 34 a is activatedby the bar code reader circuitry 11 to indicate to the user that thetarget bar code 30 has successfully read.

FIG. 8 represents a flow chart of a representative method of thedisclosed system. The processors 15 maintain a database of past userbehavior including the frequency with which users have successful readsfrom different cameras within the housing. An exemplary process ofenhancing bar code identification beings 150 by identifying a user 152by scanning a user identifier or keyboard entry. The process thendetermines 154 if enough information has been gathered for the user tomake an informed prediction regarding scan tendencies and hence theorder of image monitoring. If the user has insufficient data, theprocessors 15 use a default sequence 156 which is still better thanbrute force evaluation of all images in no particular order.

If enough information for a user is available, the processors 15 access158 the database and gather a preferred image evaluation sequence. Agoal of the process of FIG. 8 is to decode a bar code with greatestefficiency. A first camera image is evaluated 160. If a bar code isidentified in this first image at a test 162, a positive result isindicated 166 to the user and the process ends 170.

One process would preferentially gather the images from the camera in aspecified order with the most likely camera being chosen for a first setof images. The time delay in gathering and storing all images, however,may not be great. A bigger delay is evaluating the images to determine aprescence of a bar code. Thus, the act of preferentially getting animage 160 most typically determines which images from a set of imagesgathered and stored very quickly is in determining which camera image inthe sequence of stored images to check first and in what order otherimages are to be checked. Once a barcode is found it is decoded and theinformation stored or transmitted. The process can fail to find abarcode. If a determination is made 164 that all stored images areevaluated and no barcode found then a negative result is indicated 168and either another image capture sequence performed or the informationmay be entered by the user manually via a keyboard of the like.

While the present invention has been described with a degree ofparticularity, it is the intent that the invention includes allmodifications and alterations from the disclosed design falling withinthe spirit or scope of the appended claims.

1. A multi-camera imaging-based bar code reader for imaging a target barcode on a target object, the bar code reader comprising: a housingsupporting one or more transparent windows and defining an interiorregion, a target object being presented in relation to the housing forimaging a target bar code; an imaging system including a plurality ofcameras wherein each camera is positioned within the housing interiorregion and defines a field of view which is different than a field ofview of each other camera of the plurality of cameras, each cameraincluding a sensor array; and an image processing system comprising aprocessor having a stored program for adjusting a bar code searchsequence based on user tendancies to enhance identification of a barcodewithin a bar code reader field of view.
 2. The bar code reader of claim1 wherein the plurality of windows includes at least one substantiallyvertically oriented window and one substantially horizontally orientedwindow.
 3. The bar code reader of claim 1 wherein the processing systemdetermines an optimum order of image capture.
 4. The bar code reader ofclaim 1 wherein the processing system determines an optimum order ofimage evaluation.
 5. A method of operating a multi-camera imaging-basedbar code reader for imaging a target bar code comprising: providing animaging-based bar code reader including a housing supporting one or moretransparent windows and defining an interior region; positioning aplurality of cameras having sensor arrays within the housing interior todefine different fields of view for each of said plurality of cameras;moving a target object having a target bar code into a position withinone or more camera fields of view; and interpreting images from themultiple cameras in an order based on user behavior in moving objectsinto a bar code reader field of view.
 6. The bar code reader method ofclaim 5 comprising maintaining a database of past user behavior,checking the database to determine if sufficient information existsregarding a present user, obtaining or interpreting camera images basedon an order determined from the database and evaluating the images todetermine if a barcode has been identified.
 7. The method of claim 6wherein if insufficient data is available for a present user, a defaultorder of image capture or interpretation is performing while identifyingbar code images.
 8. The method of claim 6 wherein image acquisition fromcameras is interleaved between the multiple cameras and imageinterpretation is prioritized based on user tendancies.
 9. The method ofclaim 6 wherein an order of image acquisition is adjusted based on usertendancies.
 10. An imaging system for use in multicamera imaging-basedbar code reader having a housing supporting a plurality of transparentwindows and defining an interior region, a target object being presentedto the plurality of windows for imaging a target bar code on a targetobject, the imaging system comprising: a plurality of camera assembliescoupled to an image processing system, each camera assembly of theplurality of camera assemblies being positioned within the housinginterior position and defining a field of view which is different than afield of view of each other camera assembly of the plurality of cameraassemblies, each camera assembly including a sensor array and an imaginglens assembly for focusing the field of view of the camera assembly ontothe sensor array; and one or more processors for prioritizing an orderof image capture or interpretation based upon user tendancies.
 11. Theimaging system of claim 10 wherein the plurality of windows includes atleast one substantially vertically oriented window and one substantiallyhorizontally oriented window.
 12. The imaging system of claim 10 whereinthe one or more processors determines an optimum order of image capture.13. The imaging system of claim 10 wherein the one or more processorsdetermines an optimum order of image evaluation.
 14. A multi-cameraimaging-based bar code reader for imaging a target bar code on a targetobject, the bar code reader comprising: housing means supporting aplurality of transparent windows and defining an interior region boundedin part by the plurality of windows for imaging a target bar code;imaging means including a plurality of camera assemblies means coupledto an image processing system means wherein each camera assembly meansof the plurality of camera assemblies means is positioned within thehousing interior and define a field of view which is different than afield of view of each other camera assembly means of the plurality ofcamera assemblies means; sensing means for each camera assembly meansincluding a sensor array and an imaging lens assembly for focusing thefield of view of the camera assembly means onto the sensor array; memorymeans for storing images from the sensing means; processing means fordetermining an optimum order of image capture and storage or evaluationbased on past user imaging tendancies; and decoder means for evaluatingsaid images for a content of an identified bar code. 15.Computer-readable media having computer-executable instructions forperforming a method of operating a multicamera imaging-based bar codereader for imaging a target bar code on a target object, the steps ofthe method comprising: operating the reader to image a target bar codeon a target object for multiple camera assemblies by capturing multipleimages from each such assembly and storing said images and evaluatingthe images so stored in an order based on past user behavior inpresenting objects to a reader.
 16. The computer-readable media of claim15 additionally comprising instructions for alerting a user of theresults of the evaluation.
 17. The computer-readable media of claim 16additionally comprising instructions for transmitting data correspondingto a bar code content to an external device.